home *** CD-ROM | disk | FTP | other *** search
/ Delphi Magazine Collection 2001 / Delphi Magazine Collection 20001 (2001).iso / DISKS / Issue43 / delay / TestDllUnit.pas < prev    next >
Encoding:
Pascal/Delphi Source File  |  1998-12-10  |  1.0 KB  |  47 lines

  1. unit TestDllUnit;
  2.  
  3. interface
  4.  
  5. procedure Routine1(A, B, C, D: integer); register;
  6. procedure Routine2(A, B, C, D: integer); pascal;
  7. procedure Routine3(A, B, C, D: integer); cdecl;
  8. procedure Routine4(A, B, C, D: integer); stdcall;
  9.  
  10. implementation
  11.  
  12. uses
  13.   Windows,
  14.   SysUtils;
  15.  
  16. procedure Verify(A, B, C, D, Nr: integer; const CallConv: string);
  17. begin
  18.   MessageBox(0, PChar(Format('Using %s calling convention:'#13#10+
  19.                               'A=%d, B=%d, C=%d, D=%d', [CallConv, A, B, C, D])),
  20.                 PChar(Format('Called Routine%d successfully!', [Nr])),
  21.                 MB_OK);
  22. end;
  23.  
  24.  
  25. procedure Routine1(A, B, C, D: integer); register;
  26. begin
  27.   Verify(A, B, C, D, 1, 'register');
  28. end;
  29.  
  30. procedure Routine2(A, B, C, D: integer); pascal;
  31. begin
  32.   Verify(A, B, C, D, 2, 'pascal');
  33. end;
  34.  
  35. procedure Routine3(A, B, C, D: integer); cdecl;
  36. begin
  37.   Verify(A, B, C, D, 3, 'cdecl');
  38. end;
  39.  
  40. procedure Routine4(A, B, C, D: integer); stdcall;
  41. begin
  42.   Verify(A, B, C, D, 4, 'stdcall');
  43. end;
  44.  
  45.  
  46. end.
  47.